居然以4.2亿的价格收购了这个开源框架!让人羡慕的同时不免疑惑,VMware是搞虚拟机的,为什么要收购一个java做open source公司呢?

这可以看作VMware在自身虚拟机市场上的一个拓展和加深,目的是提供更丰富feature的云计算平台。虚拟机可以看成云计算的基础层面,而spring则可以看作应用层。使用spring的IOC模式把虚拟机提供的服务比如登录、存储提供给PAAS开发者,大概可以吸引不少眼球,因为很多的java开发者都比较熟悉和推崇spring。

GAE(google app engine)如何做的呢?大多地方google都是简单的使用了Factory模式来得到预设的服务。比如在用户验证这里:

public class MyServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws IOException {
        UserService userService = UserServiceFactory.getUserService();

        String thisURL = request.getRequestURI();
        if (request.getUserPrincipal() != null) {
            response.getWriter().println("Hello, " +
                                         request.getUserPrincipal().getName() +
                                         "!  You can sign out.");
        } else {
            response.getWriter().println("Please sign in.");
        }
    }
}

云计算平台除了提供硬件外,还要提供marsh-up的工具,将各个层粘合起来,这样才算是个平台。比如GAE的python平台就提供了webapp框架的接口,开发者可是使用Django,这种做法就比较友好。